工控網(wǎng)首頁(yè)
>

應(yīng)用設(shè)計(jì)

>

坦克炮控系統(tǒng)數(shù)據(jù)采集系統(tǒng)的開(kāi)發(fā)技術(shù)

坦克炮控系統(tǒng)數(shù)據(jù)采集系統(tǒng)的開(kāi)發(fā)技術(shù)

2013/1/8 10:38:15

    隨著武器裝備的不斷升級(jí)換代,性能的不斷進(jìn)步,對(duì)維修后試驗(yàn)技術(shù)的要求也不斷進(jìn)步。新近幾年裝備部隊(duì)的主戰(zhàn)坦克火控系統(tǒng)對(duì)維修后的試驗(yàn)要求相當(dāng)嚴(yán)格,現(xiàn)行的試驗(yàn)手段多為手工操縱,自動(dòng)化程度低,精確度很差,新型坦克炮控系統(tǒng)試驗(yàn)平臺(tái)的開(kāi)發(fā)正是基于這一背景提出的,本文介紹了該平臺(tái)的數(shù)據(jù)采集系統(tǒng)的開(kāi)發(fā)技術(shù)。

    1、 硬件系統(tǒng)設(shè)計(jì)

    1-1、被測(cè)參數(shù)分析

    按照有關(guān)規(guī)定,對(duì)維修后的坦克炮控系統(tǒng)需要進(jìn)行靜態(tài)參數(shù)和動(dòng)態(tài)參數(shù)的檢測(cè)。需檢測(cè)的靜態(tài)參數(shù)共有94±15V范圍的電壓信號(hào),動(dòng)態(tài)參數(shù)有位移、拉力、壓力、轉(zhuǎn)速、漂移等12路信號(hào),位移、拉力信號(hào)為標(biāo)準(zhǔn)傳感器輸出信號(hào),范圍為±5V0-5V,轉(zhuǎn)速和漂移信號(hào)為陀螺儀組輸出的檢查信號(hào),為±15V的電壓信號(hào)。另外,為了丈量位移和拉力,需要使用液壓元件以及電磁鐵作為執(zhí)行元件進(jìn)行相應(yīng)的操縱,故需進(jìn)行相應(yīng)的控制。

    1-2、數(shù)據(jù)采集卡

    數(shù)據(jù)采集卡的選擇是硬件系統(tǒng)建設(shè)的關(guān)鍵,基于性能的穩(wěn)定性和性?xún)r(jià)比的原因,選用了研華的ISA總線(xiàn)產(chǎn)品。根據(jù)需要,使用了3PCL813B1PCL818H。這兩款板卡都可支持雙極性±5V的輸進(jìn)范圍,我們另制作了一塊外圍端子板將±15V的電壓轉(zhuǎn)換為±5V[2-3]。

    PCL813B具有32路單端隔離模擬量輸進(jìn),本應(yīng)用中使用它采集94路靜態(tài)電壓信號(hào)。它采用了12位分辨率A/D轉(zhuǎn)換器AD574,轉(zhuǎn)換時(shí)間為25μs,數(shù)據(jù)傳送速率達(dá)25Kbps,輸進(jìn)范圍為雙極性±5V、±2.5V、±1.25V±0.625V,單極性為010V、05V02.5V01.25V,A/D轉(zhuǎn)換觸發(fā)方式為軟件觸發(fā)。

    PCL-818H是一款多功能采集卡,本應(yīng)用中使用它采集動(dòng)態(tài)信號(hào)及控制液壓閥和電磁鐵。它提供了5個(gè)最為常用的丈量和控制功能:12位的A/D轉(zhuǎn)換,D/A轉(zhuǎn)換,數(shù)字輸進(jìn),數(shù)字輸出和計(jì)時(shí)器/計(jì)數(shù)器。它的特點(diǎn)是:

    1 16路(單)或8路(雙)差分模擬量輸進(jìn);

    2 12位模數(shù)轉(zhuǎn)換,100KHZ的采樣頻率;

    3 16路數(shù)字輸進(jìn)和輸出;

    4 可通過(guò)軟件改變?cè)鲆娴闹?span lang="EN-US">;

    5 軟件可選擇邏輯輸進(jìn)范圍(雙極性)。

    兩塊板卡使用方法基本相同,由于篇幅限制,下面僅以818H對(duì)模擬量的輸進(jìn)采集為例先容采集卡的使用。

    編寫(xiě)PCL-818H的程序的關(guān)鍵是使用板卡上的16個(gè)寄存器。它需要16個(gè)連續(xù)的PC機(jī)I/O空間地址,每個(gè)口地址與采集板內(nèi)的寄存器相對(duì)應(yīng)。每個(gè)寄存器的地址是通過(guò)指定到板卡基地址的偏移量。例如,BASE+0是這個(gè)板卡的基地址,并且BASE+7表示基地址+7個(gè)字節(jié)。假如板卡的基地址是300h,BASE+7寄存器的地址就是307h,結(jié)果見(jiàn)表1

           表1、 寄存器的作用及相應(yīng)的I/O端口地址

    PCL-818H模擬輸進(jìn)的16個(gè)端口,可以構(gòu)成16個(gè)單端輸進(jìn)或者8對(duì)差分輸進(jìn),輸進(jìn)通道的工作方式利用跳線(xiàn)設(shè)置,軟件控制對(duì)一個(gè)或多個(gè)通道的操縱。輸進(jìn)信號(hào)經(jīng)放大電路后,由一個(gè)逐次逼近式A/D轉(zhuǎn)換為12位數(shù)字信號(hào)。

    PCL-818H提供了軟件、時(shí)鐘步進(jìn)和外部信號(hào)3種觸發(fā)方式。軟件觸發(fā)的觸發(fā)器是由軟件控制的,當(dāng)在軟件寄存器中寫(xiě)進(jìn)數(shù)值后,啟動(dòng)A/D轉(zhuǎn)換,這種方式適用于低速A/D轉(zhuǎn)換。時(shí)鐘步進(jìn)觸發(fā)適用于轉(zhuǎn)換速度要求很高的系統(tǒng),PCL-818H提供的8254定時(shí)/計(jì)數(shù)器用來(lái)為A/D提供一個(gè)固定觸起源,計(jì)數(shù)器1和計(jì)數(shù)器2級(jí)聯(lián)在一起提供了一個(gè)周期精確的觸發(fā)脈沖,非常適合于需要固定且精確的采樣頻率的系統(tǒng)。把外部觸發(fā)信號(hào)接在CN335,可以實(shí)現(xiàn)外部觸發(fā),適用于不需要周期采樣的系統(tǒng),外部信號(hào)的上升沿啟動(dòng)A/D轉(zhuǎn)換。根據(jù)該系統(tǒng)的需要,我們選擇了軟件觸發(fā)方式。

    1-3、工控機(jī)的選擇

    工控機(jī)(IPC)是一種具備特殊性能的計(jì)算機(jī),能在惡劣的產(chǎn)業(yè)生產(chǎn)環(huán)境下,保證系統(tǒng)的連續(xù)穩(wěn)定運(yùn)行,并能承受環(huán)境中的高(低)溫、沖擊、振動(dòng)、電磁干擾、濕潤(rùn)、粉塵等不利因素[4]??紤]到軍用的特殊性,我們選擇了車(chē)載使用方便的產(chǎn)業(yè)便攜機(jī),型號(hào)為華北工控的REPC-815,該機(jī)具有8PCI/ISA擴(kuò)展能力,液晶屏可360℃旋轉(zhuǎn),具有防暴功能。

        

系統(tǒng)結(jié)構(gòu)圖

    2、軟件系統(tǒng)的設(shè)計(jì)

    系統(tǒng)的軟件設(shè)計(jì)采用了VB6.0,VB6.0以其易學(xué)、高效、功能強(qiáng)大以及所開(kāi)發(fā)的系統(tǒng)界面友好等特點(diǎn)受到了眾多用戶(hù)的歡迎,在數(shù)據(jù)采集和產(chǎn)業(yè)控制領(lǐng)域得到了廣泛應(yīng)用。本系統(tǒng)的軟件部分主要有數(shù)據(jù)采集處理和數(shù)據(jù)治理兩部分組成,實(shí)現(xiàn)的功能有數(shù)據(jù)采集的控制、數(shù)據(jù)處理、數(shù)據(jù)的治理以及試驗(yàn)報(bào)告的輸出。下面給出了數(shù)據(jù)采集和存儲(chǔ)兩個(gè)關(guān)鍵環(huán)節(jié)的代碼。

    2-1、模擬電壓的讀取

    VB固然易學(xué)且功能強(qiáng)大,但也有其自身的弱點(diǎn),比如對(duì)硬件的直接訪(fǎng)問(wèn)僅靠VB自身是無(wú)法解決的。但是它可以通過(guò)調(diào)用板卡提供的驅(qū)動(dòng)函數(shù),實(shí)現(xiàn)對(duì)I/O的訪(fǎng)問(wèn)和控制,而且支持事件驅(qū)動(dòng),這樣就使VB可以很方便地編制數(shù)據(jù)采集軟件[5]。

    Windows環(huán)境下調(diào)用驅(qū)動(dòng)程序,需要在工程中添加一個(gè)模塊Driver.bas,模塊中定義了PCL-818H的所有常量,全局變量,函數(shù),數(shù)據(jù)結(jié)構(gòu),狀態(tài)代碼和消息??梢灾苯釉诔绦蛑姓{(diào)用文件中定義的這些量實(shí)現(xiàn)數(shù)據(jù)的讀取。在Driver.bas文件的最后定義了很多API函數(shù),但都不是私有的,工程里的所有窗體都可以調(diào)用這些函數(shù)。模擬值的讀取分為如下5步:

    1)、打開(kāi)設(shè)備

    ErrCde=DRV_DeviceOpen0,DeviceHandle

    假如ErrCde0表示成功,否則返回錯(cuò)誤信息。

    2)、配置輸進(jìn)通道范圍

    

    lpAIConfig.DasChan=int Channel ‘設(shè)置通道

    lpAIConfig.DasGain=0 ‘設(shè)置增益為0

    ErrCde=DRV_AIConfigDeviceHandle,lpAIConfig

    3)、讀取電壓值IConfig

    AiVolIn.chan=lpAIConfig.DasChan ‘電壓輸進(jìn)通道

    AiVolIn.Gain=lpAIConfig.DasGain ‘電壓輸進(jìn)增益

    AiVolIn.TrigMode=AiCtrMode ‘觸發(fā)模式

    AiVolIn.voltage=DRV_GetAddressvoltage ‘讀進(jìn)電壓值

    ErrCde=DRV_AIVotageInDeviceHandle,AivolIn

    4)、返回值

    fnGetValue=voltage

    5)、封閉設(shè)備

    ErrCde=DRV_DeviceCloseDeviceHandle

    2-2、數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)

    VB6.0提供了相當(dāng)強(qiáng)的數(shù)據(jù)庫(kù)存儲(chǔ)能力,可以直接支持Microsorft Access數(shù)據(jù)庫(kù)[6].VB在單機(jī)環(huán)境訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的技術(shù)有DAOADO,既可用控件也可用代碼編程實(shí)現(xiàn)。本應(yīng)用中利用控件并分歧適,故采用了比較靈活的ADO代碼編程方法。假定在C:\mydatabase\mydata.mdb數(shù)據(jù)庫(kù)中存在”pkxt”表格,name、testdata、giveddata、conclusion是其字段名,界面中幾個(gè)Text文本框中顯示了試驗(yàn)數(shù)據(jù),將數(shù)據(jù)寫(xiě)進(jìn)數(shù)據(jù)庫(kù)的代碼如下:

    Private Sub Form_Load() ‘ 窗體裝載事件

    Dim strSQL As String

    Set cn = New ADODB.Connection ‘建立新的連接

    cn.Provider = "microsoft.jet.oledb.3.51" ‘ 數(shù)據(jù)庫(kù)引擎

    cn.ConnectionString = "C:\mydatabase\mydata.mdb" ‘數(shù)據(jù)庫(kù)路徑

    cn.Open ‘打開(kāi)連接

    Set adors = New ADODB.Recordset ‘打開(kāi)“pkxt”表的一個(gè)記錄集

    adors.LockType = adLockOptimistic

    strSQL = "select " & "from pkxt"

    adors.Source = strSQL

    Set adors.ActiveConnection = cn

    adors.Open

    adors.AddNew

    End Sub

    Private Sub Form_UnloadCancel As Integer ‘卸載窗體事件

    cn.Close ‘封閉連接

    End Sub

    ‘保存按鈕的單擊事件中將界面中的數(shù)據(jù)寫(xiě)進(jìn)記錄集

    Private Sub Command1_Click()

    adors.Fields"name" = Text1.Text ‘檢測(cè)項(xiàng)目名稱(chēng)

    adors.Fields"testdata" = ValText2.Text ‘檢測(cè)值

    adors.Fields"giveddata" = ValText3.Text ‘給定的指標(biāo)值

    adors.Fields"conclusion" = Text4.Text ‘檢測(cè)結(jié)論

    adors.Update

 

    adors.Close

    End Sub

    2-3、報(bào)表輸出

    對(duì)報(bào)表的輸出,VB6.0提供了很多方法,其中DataReport設(shè)計(jì)器和Printer對(duì)象方法特點(diǎn)鮮明。利用Printer對(duì)象方法需要編寫(xiě)較多的代碼,但極具靈活性;DataReport設(shè)計(jì)器是VB6.0新增的功能,它只提供了最基本的功能,但具有非常易用的特點(diǎn)。由于本系統(tǒng)數(shù)據(jù)比較簡(jiǎn)單,所以使用了DataReport設(shè)計(jì)器實(shí)現(xiàn)試驗(yàn)報(bào)告的輸出。

    3、結(jié)論

    經(jīng)過(guò)反復(fù)調(diào)試,我們開(kāi)發(fā)的基于VB的工控機(jī)數(shù)據(jù)采集系統(tǒng)實(shí)現(xiàn)了預(yù)期的各項(xiàng)功能,達(dá)到了各項(xiàng)技術(shù)指標(biāo)要求。該系統(tǒng)在我軍某坦克中修單位使用了近半年,界面友好,功能豐富,運(yùn)行可靠,有著較高的推廣應(yīng)用價(jià)值,并且對(duì)其它行業(yè)多參數(shù)數(shù)據(jù)采集系統(tǒng)有參考價(jià)值。

 

審核編輯(
王靜
)
投訴建議

提交

查看更多評(píng)論
其他資訊

查看更多

超越傳統(tǒng)直覺(jué),MATLAB/Simulink助力重型機(jī)械的智能化轉(zhuǎn)型

新大陸自動(dòng)識(shí)別精彩亮相2024華南國(guó)際工業(yè)博覽會(huì)

派拓網(wǎng)絡(luò)被Forrester評(píng)為XDR領(lǐng)域領(lǐng)導(dǎo)者

智能工控,存儲(chǔ)強(qiáng)基 | 海康威視帶來(lái)精彩主題演講

展會(huì)|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會(huì)